garmin_fit: use constants instead of magic numbers
authorMarco Leogrande <dark.knight.ita@gmail.com>
Sat, 24 Jun 2017 21:51:47 +0000 (14:51 -0700)
committerMarco Leogrande <dark.knight.ita@gmail.com>
Tue, 27 Jun 2017 04:08:35 +0000 (21:08 -0700)
This is for better code readability.

garmin_fit.cc

index 3fb4712952fb781605812ac82f9e75f0082373ba..61ee47d0f1d2b9d5131a8bff5e5b23a180bb224f 100644 (file)
 
 #define MYNAME "fit"
 
+// constants for global IDs
+const int kIdDeviceSettings = 0;
+const int kIdLap = 19;
+const int kIdRecord = 20;
+
+// constants for message fields
+// for all global IDs
+const int kFieldTimestamp = 253;
+// for global ID: device settings
+const int kFieldGlobalUtcOffset = 4;
+// for global ID: lap
+const int kFieldStartTime = 2;
+const int kFieldStartLatitude = 3;
+const int kFieldStartLongitude = 4;
+const int kFieldEndLatitude = 5;
+const int kFieldEndLongitude = 6;
+const int kFieldElapsedTime = 7;
+const int kFieldTotalDistance = 9;
+// for global ID: record
+const int kFieldLatitude = 0;
+const int kFieldLongitude = 1;
+const int kFieldAltitude = 2;
+const int kFieldHeartRate = 3;
+const int kFieldCadence = 4;
+const int kFieldDistance = 5;
+const int kFieldSpeed = 6;
+const int kFieldPower = 7;
+const int kFieldTemperature = 13;
+const int kFieldEnhancedSpeed = 73;
+const int kFieldEnhancedAltitude = 78;
+
+
 static char* opt_allpoints = NULL;
 static int lap_ct = 0;
 
@@ -351,7 +383,7 @@ fit_parse_data(fit_message_def* def, int time_offset)
     }
     f = &def->fields[i];
     val = fit_read_field(f);
-    if (f->id == 253) {
+    if (f->id == kFieldTimestamp) {
       if (global_opts.debug_level >= 7) {
         debug_print(7,"%s: parsing fit data: timestamp=%d\n", MYNAME, val);
       }
@@ -363,9 +395,9 @@ fit_parse_data(fit_message_def* def, int time_offset)
       fit_data.last_timestamp = timestamp;
     } else {
       switch (def->global_id) {
-      case 0: // device settings message
+      case kIdDeviceSettings: // device settings message
         switch (f->id) {
-        case 4:
+        case kFieldGlobalUtcOffset:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: global utc_offset=%d\n", MYNAME, val);
           }
@@ -377,72 +409,72 @@ fit_parse_data(fit_message_def* def, int time_offset)
           }
           break;
         } // switch (f->id)
-        // end of case def->global_id = 0
+        // end of case def->global_id = kIdDeviceSettings
         break;
 
-      case 20: // record message - trkType is a track
+      case kIdRecord: // record message - trkType is a track
         switch (f->id) {
-        case 0:
+        case kFieldLatitude:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: lat=%d\n", MYNAME, val);
           }
           lat = val;
           break;
-        case 1:
+        case kFieldLongitude:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: lon=%d\n", MYNAME, val);
           }
           lon = val;
           break;
-        case 2:
+        case kFieldAltitude:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: alt=%d\n", MYNAME, val);
           }
           alt = val;
           break;
-        case 3:
+        case kFieldHeartRate:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: heartrate=%d\n", MYNAME, val);
           }
           heartrate = val;
           break;
-        case 4:
+        case kFieldCadence:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: cadence=%d\n", MYNAME, val);
           }
           cadence = val;
           break;
-        case 5:
+        case kFieldDistance:
           // NOTE: 5 is DISTANCE in cm ... unused.
           if (global_opts.debug_level >= 7) {
             debug_print(7, "%s: unrecognized data type in GARMIN FIT record: f->id=%d\n", MYNAME, f->id);
           }
           break;
-        case 6:
+        case kFieldSpeed:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: speed=%d\n", MYNAME, val);
           }
           speed = val;
           break;
-        case 7:
+        case kFieldPower:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: power=%d\n", MYNAME, val);
           }
           power = val;
           break;
-        case 13:
+        case kFieldTemperature:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: temperature=%d\n", MYNAME, val);
           }
           temperature = val;
           break;
-        case 73:
+        case kFieldEnhancedSpeed:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: enhanced_speed=%d\n", MYNAME, val);
           }
           speed = val;
           break;
-        case 78:
+        case kFieldEnhancedAltitude:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: enhanced_altitude=%d\n", MYNAME, val);
           }
@@ -454,48 +486,48 @@ fit_parse_data(fit_message_def* def, int time_offset)
           }
           break;
         } // switch (f->id)
-        // end of case def->global_id = 20
+        // end of case def->global_id = kIdRecord
         break;
 
-      case 19: // lap wptType , endlat+lon is wpt
+      case kIdLap: // lap wptType , endlat+lon is wpt
         switch (f->id) {
-        case 2:
+        case kFieldStartTime:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: starttime=%d\n", MYNAME, val);
           }
           starttime = val;
           break;
-        case 3:
+        case kFieldStartLatitude:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: startlat=%d\n", MYNAME, val);
           }
           startlat = val;
           break;
-        case 4:
+        case kFieldStartLongitude:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: startlon=%d\n", MYNAME, val);
           }
           startlon = val;
           break;
-        case 5:
+        case kFieldEndLatitude:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: endlat=%d\n", MYNAME, val);
           }
           endlat = val;
           break;
-        case 6:
+        case kFieldEndLongitude:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: endlon=%d\n", MYNAME, val);
           }
           endlon = val;
           break;
-        case 7:
+        case kFieldElapsedTime:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: elapsedtime=%d\n", MYNAME, val);
           }
           //elapsedtime = val;
           break;
-        case 9:
+        case kFieldTotalDistance:
           if (global_opts.debug_level >= 7) {
             debug_print(7,"%s: parsing fit data: totaldistance=%d\n", MYNAME, val);
           }
@@ -507,7 +539,7 @@ fit_parse_data(fit_message_def* def, int time_offset)
           }
           break;
         } // switch (f->id)
-        // end of case def->global_id = 19
+        // end of case def->global_id = kIdLap
         break;
 
       default:
@@ -523,7 +555,7 @@ fit_parse_data(fit_message_def* def, int time_offset)
     debug_print(7,"%s: storing fit data with num_fields=%d\n", MYNAME, def->num_fields);
   }
   switch (def->global_id) {
-  case 19: // lap message
+  case kIdLap: // lap message
     if (endlat == 0x7fffffff || endlon == 0x7fffffff) {
       break;
     }
@@ -538,7 +570,7 @@ fit_parse_data(fit_message_def* def, int time_offset)
     lappt->shortname = cbuf;
     waypt_add(lappt);
     break;
-  case 20: // record message
+  case kIdRecord: // record message
     if ((lat == 0x7fffffff || lon == 0x7fffffff) && !opt_allpoints) {
       break;
     }